package cn.sofwin.sb.core.mvc.service;

import cn.sofwin.sb.core.mvc.entity.IdEntity;

import java.util.List;

/**
 * 基础服务类接口*/
public interface BaseService<T extends IdEntity>  {

    /**
     * @param entity
     * @return
     */
    T creat (T entity);

    /**
     * 根据主键删除对象
     * @param id
     */
    void remove(Integer id);

    /**更新保存对象
     *
     * @param entity
     * @return
     */
    T save(T entity);

    /**
     * 根据主键获取单个对象
     * @param id
     * @return
     */
    T get(Integer id);

    /**
     * 分页查询（有坑）
     * @param query
     * @param sort
     * @param pageNo
     * @param pageSize
     * @return  返回值有坑，应该返回一个包含了分页信息的对象
     */
    List<T> list(String query, String sort, Integer pageNo, Integer pageSize);
}
